home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / assembly / snma-2.lha / SNMA / History next >
Text File  |  1995-10-08  |  10KB  |  210 lines

  1.  
  2.         History
  3.         ~~~~~~~
  4.  
  5.     First, thank you for your bug reports, comments and suggestions.
  6.  
  7.     Thanks to the following people (in no particular order):
  8.     (Sorry, if I have forgotten someone and for misspelled names).
  9.  
  10.     Gunther Nikl, Veli Nuutimäki, Eric Augustine, Laura Mahony,
  11.     Marco Nelissen,  Jarkko Vatjus-Anttila, Yambo.
  12.  
  13.  
  14.     V2.03
  15.         o One bug fixed from the option file loading, which caused random
  16.           crash.
  17.         o Bitfields can be defined like "<ea>,{o:w}".
  18.         o Some movec problems disappeared (this one is little mysterious,
  19.           since I didn't touch the whole movec thing).
  20.         o In ARexx mode, snma could flag some addressing modes as invalid,
  21.           because certain data structures had spurious values left from
  22.           the previous assembly.
  23.         o ARexx SET command works again.
  24.         o In (BD,An,Xn) register equates, which started with z, were not
  25.           recognized.
  26.         o QUIET switch disables now all output to Output().
  27.         o If expression ended to operator, snma read one long from the address
  28.           which was fetched from the string (one indirection too much). This
  29.           could cause buserr exception in 68000, depending on value it read.
  30.         o @ character is now normal symbol character, by default.
  31.           @ character in the beginning of symbol meant octal number specifier.
  32.           Since SAS/C uses it in the beginning of __regargs function names,
  33.           its behaviour has been changed. Use OCT commandline toggle to
  34.           allow octal numbers. There was also a bug, which caused no error
  35.           telling in @symbol case, when it was actually coded as octal number
  36.           - unsuccessfully.
  37.  
  38.     V2.02
  39.         o BSS sections didn't honor mem type bits.
  40.         o Sometimes pc-relative addressing modes allowed small data references.
  41.           (if small data references were allowed).
  42.         o RTM was coded badly.
  43.         o Forcing Base Displacement to word or long didn't always work.
  44.         o  " macro <macroname>" finally works.
  45.  
  46.     V2.00
  47.         o (An,Xn) is finally allowed in 68000/010 cpu mode.
  48.         o tst lab was optimized to tst lab(pc) when only 68000/010 cpu was
  49.           allowed.
  50.         o Power ('^^') operator
  51.         o EOR/XOR ('^') operator ended expression
  52.         o Bitfield offset and width can now be defined after they use.
  53.         o Various small bugs fixed
  54.         o xdef and xref caused crash if operands had illegal chars.
  55.         o Floating point numbers with exponent were incorrect.
  56.         o FTENTOX was coded badly.
  57.         o CNUL, DX and MOVE16 caused snma to guru when generating
  58.           listing file.
  59.         o When running out of mem, requester allows retry.
  60.         o Memory usage for the end message (shell interface).
  61.         o Pre-defined (commandline & optfile) symbols.
  62.         o Macros with MEXIT and ENDC won't miss the ENDC.
  63.         o Immediate data range checking can be turned off and it works
  64.           for symbols which are declared after use.
  65.         o Pre-assembled include files, which contain symbol and macro
  66.           definitions of include files (was in V1.99 but I forget to
  67.           mention it here). See INCLUDE and Arexx/MAKEGB docs.
  68.         o ADDGB ARexx command lost main source file symbols after one
  69.           INCLUDE operation. ADDGB is now a bit slower when there are many
  70.           symbols, but it works as intended.
  71.         o Bitfield stuff was broken in  V1.99.
  72.  
  73.     V1.99
  74.         o Relative-relative (difference between labels) symbol was set as
  75.           relative (ext_def) instead of correct ext_abs when xdef'ed.
  76.         o Arexx startup now toggles snma on/off.
  77.         o Some bugs from INCBIN removed.
  78.         o "=" operator didn't produce FALSE (0) if the operands were not
  79.           equal.
  80.         o '040 stuff. MOVE16, CINV, CPUSH, MMU & FPU commands. Special regs.
  81.         o Object file is no longer deleted if snma is trying to produce
  82.           executable and there are errors and vice-versa.
  83.         o Floating point equate file equates were screwed up as well as
  84.           packed type conversion (nobody seems to use this :).
  85.         o CASESEN=OFF caused xdefs to fail.
  86.         o local symbols .l and .w were mixed up with long and word suffix,
  87.           resulting enforcer hit and garbage expression.
  88.         o Dcb directive works now like ds directive if it has only one
  89.           parameter.
  90.         o Lists with two successive commas are now handled (like x,,y).
  91.         o Searches include files also from the directory where snma was
  92.           started from (used to search only from where source file is).
  93.  
  94.     V1.97
  95.         o Case-insensitive symbol names option.
  96.         o ELSE directive works now.
  97.         o Some new directives (types.i stuff mainly).
  98.         o New expression handler (boolean operators).
  99.         o IFs were tested even if assembly was toggled off.
  100.         o Some errenous expressions - like (A)A -  don't crash anymore.
  101.         o Multilevel optimizing.
  102.         o Macro directive allows macro name as parameter.
  103.         o DX directive (BSS to code or data hunk).
  104.         o Absolute+Relative bug fixed (if in different hunks).
  105.         o divu.l works (argh).
  106.         o LINE DEBUG HUNK
  107.         o Octal numbers.
  108.  
  109.     V1.95
  110.         o ERRCOLOR keyword in template. Highlight error char.
  111.         o AREXX/REMGB without parameters didn't work (+ fixed one mungwall hit
  112.           from it).
  113.         o QUIET startup switch disables only startup message. (You can redirect
  114.           output to the nil: if you don't want any output).
  115.         o SNMAOPT M controls now movem optimizing.(It was in Q flag).
  116.         o End message is now little different in shell mode.
  117.         o OPT directice changed to SNMAOPT to avoid any confusion.
  118.         o fmovecr generated also extended immediate data.
  119.         o Output file naming failed with ".s" extension (ooouups).
  120.         o Behaves little better when running out of memory.
  121.         o LABEL INCBIN <file>, LABEL get wrong value. (Veli Nuutimäki).
  122.         o NULL byte in source ends it (to avoid to assemble binaries).
  123.         o SELFCHECK arexx command.
  124.         o Fmove.l #imm,fpcr works.
  125.         o FBxx works now (Eric Augustine).
  126.         o shift/rotate to <ea> generated spurious code.
  127.         o INDEX register scale was allowed in 68000/010.
  128.         o CNOP started to act like maniac if PC was more than 2^16.
  129.         o addq/subq with undefined (at 1st pass) value, caused snma to begin
  130.           'flying high again' actions. (Gunther Nikl).
  131.         o "'" or '"'  works now (Gunther Nikl).
  132.         o HUNK_RELOC32SHORT (implemented as 1015) to executables.
  133.         o Produces also executables. (Laura Mahoney).
  134.         o OPT A (address mode optimizing) was implemented as OPT E.
  135.         o code_f, data_f, bss_f section types were not recognized.
  136.         o FO, CLRFO, SETFO directives.
  137.         o RS, RSRESET. RSSET directives (Marco Nelissen).
  138.         o 'Old syntax' address mode had problems when base displacement had
  139.            parenthesis around it.
  140.         o Allows 99 macro parameters plus "<something>" parameters.
  141.  
  142.  
  143.     V1.91
  144.         o if any of cmpa operands had symbol which was relative or not defined
  145.           in pass1, snma had serious problems.
  146.         o If macro called another macro, \@ (unique label for one macro call)
  147.           was different before the another macro call and after it.
  148.         o Symbols which had only one char were not handled correctly.
  149.  
  150.     V1.90
  151.         o moveq didn't allow xref'd data.
  152.         o mc68xxx directives
  153.         o Command line additions ([-option])
  154.         o Object code naming now also checks ".s" and ".a" suffix.
  155.         o OBJ filename in template was ignored (oh my).
  156.         o tst with pc-relative was allowed on 68000 mode.
  157.         o ext_ref symbols with same name were written many times, causing
  158.           larger object file size (not actual code size).
  159.         o xdef symbols were written to the all sections.
  160.         o divu.l wasn't allowed.
  161.         o Equates with relative components are handled better now.
  162.         o Minimal WorkBench support
  163.         o \*VALOF() + other macro 'insert functions'.
  164.         o abslong to pc-relative optimizing.
  165.         o DC generated too much data if the 2nd operand of the
  166.           previous instruction was one which took some space.
  167.         o REPT/ENDR directives
  168.         o Global symbol table.
  169.         o In cases where reloc was needed didn't create it, when
  170.           symbol referred to equate which type was relative.
  171.         o Equates with relative components are no longer written to
  172.           the symbol list.
  173.         o CHDIR (AREXX) command called FreeVec with wrong argument,
  174.           causing memory loss (no crash, at least in my system).
  175.  
  176.     V1.70
  177.         o BTST/BCHG/BSET/BCLR  Dn,<ea> set always <ea> as d0. (uups)
  178.         o MOVEP didn't allow zero displacement.
  179.         o ENDC switched assembly on sometimes when it shouldn't.
  180.  
  181.     V1.68
  182.         o Some minor bug fixes and changes (okay, I forgot them).
  183.  
  184.     V1.65
  185.         o Address components which started with 'Z' or 'z' were
  186.           parsed to the totally wrong thing. (Bad one).
  187.         o IFGT did unsigned test, instead of signed.
  188.         o Didn't notice all cases when macro was already defined.
  189.         o Include <devicename:filepath> didn't work.
  190.         o Expression handler didn't catch all undefined symbols.
  191.         o AREXX, SET command.
  192.         o 'TST An' in 020+ mode wasn't allowed.
  193.         o Destination address mode optimizing in move instruction
  194.               generated spurious opcodes in some cases.
  195.         o Movem->move optimizing.
  196.  
  197.     V1.60
  198.         o AREXX PORT finally added
  199.         o Several bugs fixed
  200.         o LONGBRA flag to the template
  201.         o ZAn no longer required if An omitted in addressing mode.
  202.  
  203.  
  204.     ========================================================================
  205.  
  206.         Probaply I don't remember all the changes and fixed bugs, but I
  207.         hope all the major ones are here.
  208.  
  209.         First released version of SNMA is 1.39.
  210.